package great.project.bean.factorybean;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {

    public static void main(String[] args) {

        AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext();

        annotationConfigApplicationContext.registerBean("wangWu" , WangWuFactoryBean.class);

        annotationConfigApplicationContext.refresh();


        /*
            注意 ， 这里我们 注入的是 名字为 ： wangWu ， class 为 WangWuFactoryBean 但是我们使用， wangWu 这个名字取bean时 ，取出来的并不是 WangWuFactoryBean 而是 WangWu

            在使用 BeanFactory 时 ， spring会为我们创建两个对象一个是 &wangWu 对应的 WangWuBeanFactoryBean  和 wangWu 对应的 WangWu类。

            beanFactory 生成的名字是bean 前面加上一个 &

         */

        final WangWuFactoryBean wangWu = annotationConfigApplicationContext.getBean("&wangWu" , WangWuFactoryBean.class);

    }

}
